export interface IPAPIResponse {
  ip: string;
  country_name: string;
  country_code: string;
  region_name: string;
  city: string;
  latitude: number;
  longitude: number;
  isp: string;
}

export interface GeoLocation {
  ip: string;
  country: string;
  countryCode: string;
  region: string;
  city: string;
  latitude: number;
  longitude: number;
  isp: string;
  timestamp: number;
}

export interface GeoLocationConfig {
  apiKey?: string;
  cacheEnabled: boolean;
  cacheTTL: number;  // seconds
  requestTimeout: number;  // milliseconds
  retryAttempts: number;
  retryDelay: number;  // milliseconds
  apiEndpoint: string;
}
